#ifndef __BUOLA_SCENE_CSCENEVIEW_H__
#define __BUOLA_SCENE_CSCENEVIEW_H__

#include <buola/gui/cwindow.h>

#include <buola/app/ctimer.h>

#include <buola/scene/crenderer.h>

namespace buola { namespace scene {

class CSceneView : public gui::CWindow,
                   public CRenderer
{
public:
    CSceneView();
    ~CSceneView();

    void AddController(const PController &pController);

private:
    virtual void OnExpose(const gui::CExposeEvent &pE);
    virtual void OnButtonDown(const gui::CMouseEvent &pE);
    virtual void OnButtonUp(const gui::CMouseEvent &pE);
    virtual void OnMouseMove(const gui::CMouseEvent &pE);
    virtual void OnMouseWheel(const gui::CMouseEvent &pE);
    virtual void OnChar(const gui::CKeyEvent &pE);
    
private:
    
    CTimer mTimer;
    std::vector<PController> mControllers;
};

/*namespace scene*/ } /*namespace buola*/ }

#endif
